1. Technical Field
This invention relates to compound document composition and processing and more particularly to methods for embedding within a document non-text objects.
2. Background Art
With the advent of modern computer technology, and in particular, with word and text processing applications, it is desirable to expand such application programs to allow the creation of compound documents. A compound document is defined as a document in which non-text objects such as an image, a graphic or an audio component are embedded in the textual data stream. In the prior art, the non-text objects have been represented in the document by an icon.
One problem encountered in the composition and management of compound documents is the great amount of computer memory and secondary storage required for viewing and storing these documents. Depending upon the resolution of the image and whether grey level or color is used, an image can require several million bytes of storage and a graphic representation such as a CAD drawing can require tens of thousands of bytes of storage.
Another problem encountered in the composition and management of compound documents is the ability to represent within the document on a display, particularly on a non image/graphic display, such as an alphanumeric display, the full contextual and visual placement of a non-text object within the text preceding and following it. Depending upon the capabilities of the given display, it is not always possible to visually display both text and non-text components concurrently.
There are several methods known in the prior art for storing such graphics or image/non-text objects. The most direct method is to directly store in the data stream the entire bit map or vector representation or audio representation that is to be incorporated in the document. In this method, any subsequent display of the same non-text object in the document requires that the entire non-text object be stored once again in the data stream. Since many documents will reference and display a figure more than once in the document, this method can become quite storage intensive.
Another method for non-text object storage stores the object in a compressed form, such as the CCITT standards of storage of certain image and graphic non-text objects and similar modes of compressing audio data. In this way, the compressed non-text object is stored in the data stream. To view the text and non-text document in their entirety, any such browsing system must have the requisite decoding or decompressing algorithms resident in on-line code, and the required high intensity computations must be performed as part of the browse operation. Although this method does reduce the amount of storage for multiple incorporations of the same non-text object, or for single non-text objects, it does lead to slow, compute intensive display and browse of a document. The ability to store a non-text object and reference it multiple times in a non-storage and non-computer intensive environment has not been accomplished by any of the prior art methods.
There are few methods known in the prior art for accurate representation of a non-text component on a non image/graphic capable display. One method would be to reserve "white space" in and around the text area of the document for later placement of the non-text component. White space is a reserved area on the screen into which no additional text or input could be placed. This white space would take up the same amount of space as the referenced non-text object requires within the document without displaying the non-text object directly. Documents which contain full page image/graphic objects would thus be represented as multiple pages of white space in the document. This method is generally not deemed user-friendly, since scrolling the document can result in encountering several pages of all white screens.
Another method for representing non-text components in a document is to place an icon or control within the data stream on one line within the document. Although this method significantly reduces the space used to represent the components in the document, it does not provide the user or controlling program the information necessary to understand how a particular component is to be placed within the remaining text of the document.